import { h,Component } from "vue";
import { NIcon } from 'naive-ui'
export function renderIcon (icon: Component) {
    return () => h(NIcon, null, { default: () => h(icon) })
  }

//递归组装菜单格式
export function generatorMenu(routerMap:Array<any>){
    //routerMap 按照sort进行排序
    routerMap.sort((a,b)=> a.meta.sort - b.meta.sort);
    const result = routerMap.map((item)=>{
        
        // console.log(item);
        const menu:{label:any,key:any,icon:any,children:any}={
            label:item?.meta?.title,
            key:item?.name,
            icon:item.meta?.icon,
            children:item?.meta.children
            
        };
        if(item.children && item.children.length>1){
            //有子元素并且长度大于1  不止一个
            //递归操作
            menu.children=generatorMenu(item.children);
        }else if(item.children && item.children.length ===1){
            menu.key = item?.children[0].name;
        }
        

        // console.log(menu);
        return menu;
    })
    // console.log(result);
    return result;
}